#ifndef VISIABLELABEL_H
#define VISIABLELABEL_H

#include <QLabel>
#include <QMouseEvent>

class Visiablelabel:public QLabel//继承于Qlabel
{
    Q_OBJECT
public:
    Visiablelabel(QWidget *parent=nullptr);
    ~Visiablelabel();

    enum LabelState{
        Visiable = 0,//可见状态
        Visiable_Selected,//可见-鼠标选中状态
        Visiable_Press,//可见-鼠标按下状态
        UNVisiable,//不可见状态
        UNVisiable_Selected,//不可见-鼠标选中状态
        UNVisiable_Press//不可见-鼠标按下状态
    };

    //重写基类函数，在QLabel中能找到
    virtual void enterEvent(QEvent *ev) override;//选中事件
    virtual void leaveEvent(QEvent *ev) override;//离开事件
    virtual void mousePressEvent(QMouseEvent *ev) override;//鼠标按下事件
signals:
    void clicked(LabelState current_state);//用于给出信号通知对应的Line_Edit设置 文本可见/不可见 状态
private:
    LabelState state_;//用于存储状态
};

#endif // VISIABLELABEL_H
